using JGSY.CMS.LowCode.Platform.Domain.Interfaces;

namespace JGSY.CMS.LowCode.Platform.Domain.Entities
{
    /// <summary>
    /// 用户角色关联实体
    /// 用于维护用户和角色之间的多对多关系
    /// </summary>
    public class UserRole : ITenantEntity
    {
        /// <summary>
        /// 用户标识符
        /// </summary>
        public long UserId { get; set; }
        
        /// <summary>
        /// 角色标识符
        /// </summary>
        public long RoleId { get; set; }

        /// <summary>
        /// 关联的用户实体
        /// 导航属性，可选的用户对象引用
        /// </summary>
        public User? User { get; set; }
        
        /// <summary>
        /// 关联的角色实体
        /// 导航属性，可选的角色对象引用
        /// </summary>
        public Role? Role { get; set; }

        /// <summary>
        /// 租户标识符
        /// </summary>
        public string TenantId { get; set; } = string.Empty;
    }
}
